package org.ch02.test03;

import org.ch02.entity.Student;

import java.lang.reflect.Field;

/**
 * 反射常用 API - Field
 * @author ZJL
 * @date 2025-03-18
 */
public class MainTest05 {
    public static void main(String[] args) throws Exception {
        // 第一：获取操作类的 Class对象
        Class<Student> clazz = Student.class;
        // 第二：基于 Class 对象，实现相关的操作 - 运行时、动态性
        // Class 对象可以获取类的所有信息（对象）
        // 实例化对象
        //Student stu = clazz.getConstructor().newInstance();

        // 获取要操作的具体的某个字段（属性）
        Field PiField = clazz.getDeclaredField("PI");

        PiField.setAccessible(true);
        // 初始化字段（属性） - stu.setAge(20)
        PiField.set(null,3.1415926);

        // 获取字段（属性）值 - stu.getAge();
        Object pi = PiField.get(null);
        System.out.println("圆周率:"+pi);

    }
}
